<template>
    <div style="padding-top: 1px">
        <loginLogo style="padding-top: 3%"/>
        <div class="login">
            <div class="login-head">
                <span>用户登录</span>
            </div>
            <el-form :model="loginForm" ref="loginForm" label-width="70px" class="demo-ruleForm" :rules="rules">
                <el-form-item prop="username" label="用户名">
                    <el-input v-model="loginForm.username" placeholder="用户名"></el-input>
                </el-form-item>
                <el-form-item prop="password" label="密码">
                    <el-input type="password" v-model="loginForm.password" placeholder="密码"></el-input>
                </el-form-item>
            </el-form>
            <div class="login-btn">
                <el-button @click="goSignUp">注册</el-button>
                <el-button type="primary" @click="handleLoginIn">登录</el-button>
            </div>
        </div>
    </div>
</template>

<script>
import {LoginIn} from "@/api";
import loginLogo from '../components/LoginLogo';
import {mixin} from '../mixins/index';

export default {
    name: "LoginIn",
    mixins: [mixin],
    components:{
        loginLogo
    },
    data(){
        return{
            loginForm: {
                username: '',       //用户名
                password: '',       //密码
            },
            rules:{     //验证规则
                username: [
                    { required: true, trigger: 'blur', message: '请输入用户名' }
                ],
                password: [
                    { required: true, trigger: 'blur', message: '请输入密码' }
                ]
            }
        }
    },
    //页面加载完成后
    mounted(){
        this.changeIndex('登录');
    },
    methods: {
        //添加用户
        handleLoginIn() {
            let _this = this;
            let params = new URLSearchParams();
            params.append('username', this.loginForm.username);
            params.append('password', this.loginForm.password);
            LoginIn(params)
                .then(res => {
                    if (res.code == 1) {
                        _this.notify('登录成功', 'success');
                        _this.$store.commit('setLoginIn', true);
                        _this.$store.commit('setUserId', res.userMsg.id);
                        _this.$store.commit('setUsername', res.userMsg.username);
                        _this.$store.commit('setAvator', res.userMsg.avator);
                        setTimeout(function () {
                            _this.changeIndex('首页');
                            _this.$router.push({path: '/'})
                        }, 2000);
                    } else {
                        _this.notify('用户名或密码错误', 'error');
                    }
                }).catch(err => {
                console.log(err);
                _this.$notify('用户名或密码错误', 'error');
            });
        },
        //返回上一个页面 -1
        goSignUp() {
            this.$router.push({path: '/sign-up'});
            this.changeIndex('注册');
        },
        //活跃的页面
        changeIndex(value){
            this.$store.commit('setActiveName', value);
        }
    }
}
</script>

<style lang="scss" scoped>
@import "../assets/css/login-in";
</style>